package com.gitee.techstack.tx.service.impl;

import com.gitee.techstack.tx.mapper.StudentMapper;
import com.gitee.techstack.tx.service.Tx2DataBaseService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.Random;

/**
 * ┏┓　　　┏┓
 * ┏┛┻━━━┛┻┓
 * ┃　　　　　　　┃
 * ┃　　　━　　　┃
 * ┃　┳┛　┗┳　┃
 * ┃　　　　　　　┃
 * ┃　　　┻　　　┃
 * ┃　　　　　　　┃
 * ┗━┓　　　┏━┛
 * 　　┃　　　┃神兽保佑
 * 　　┃　　　┃代码无BUG！
 * 　　┃　　　┗━━━┓
 * 　　┃　　　　　　　┣┓
 * 　　┃　　　　　　　┏┛
 * 　　┗┓┓┏━┳┓┏┛
 * 　　　┃┫┫　┃┫┫
 * 　　　┗┻┛　┗┻┛
 *
 * @author Yeoman
 * @description
 * @create 2020/6/11 上午9:34
 **/
@Service("tx2DataBaseService")
public class Tx2DataBaseServiceImpl implements Tx2DataBaseService {
    @Autowired
    StudentMapper studentMapper;

    @Override
    @Transactional(rollbackFor = RuntimeException.class)
    public void updateDataWithTX(int id, int age) {
        studentMapper.updateDataWithTX(id, age);
        if(2 == new Random().nextInt(3)){
            throw new RuntimeException();
        }
    }
}
